package edu.sandau.app.basic.service;

import edu.sandau.app.basic.domain.Favorite;
import java.util.List;

public interface FavoriteService {
    
    /**
     * 获取用户的所有收藏
     */
    List<Favorite> getUserFavorites(Long userId);
    
    /**
     * 添加收藏
     */
    int addFavorite(Favorite favorite);
    
    /**
     * 取消收藏
     */
    int deleteFavorite(Long id);
    
    /**
     * 根据用户ID和菜品ID取消收藏
     */
    int deleteFavoriteByUserAndDish(Long userId, Long dishId);
    
    /**
     * 检查用户是否收藏了某个菜品
     */
    boolean checkFavorite(Long userId, Long dishId);
    
    /**
     * 获取菜品的收藏数量
     */
    long getDishFavoriteCount(Long dishId);
    
    /**
     * 获取收藏记录
     */
    Favorite getFavorite(Long userId, Long dishId);
}

